package com.jingxuan.service;

import java.util.List;

import com.jingxuan.dto.response.RankingItemResponse;

/**
 * 排行榜服务接口
 */
public interface RankService {

    /**
     * 获取推荐榜
     *
     * @param limit 返回数量限制
     * @return 推荐榜商品列表
     */
    List<RankingItemResponse> getRecommendRanking(Integer limit);

    /**
     * 获取性价比榜
     *
     * @param limit 返回数量限制
     * @return 性价比榜商品列表
     */
    List<RankingItemResponse> getValueRanking(Integer limit);

    /**
     * 获取新品榜
     *
     * @param limit 返回数量限制
     * @return 新品榜商品列表
     */
    List<RankingItemResponse> getNewProductRanking(Integer limit);

    /**
     * 解析并缓存商品特征到Redis
     *
     * @param productId 商品ID
     */
    void parseAndCacheFeatures(String productId);

    /**
     * 刷新所有榜单缓存
     */
    void refreshAllRankings();

    /**
     * 清空所有榜单缓存
     */
    void clearAllRankings();
}
